$(function(){
    //初始化树
    $('#category_tree').ajaxTree({
        url : $('#APP_URL').val()+'/index.php/request/category',
        data : function(node){
            return {
                id : node.attr("id").substr(0, 5) == 'node_' ? node.attr("id").substr(5) : 0
            };
        },
        check : node_check
    });

    $('#module1').change(function(){
        get_page(1,'index');
        if(this.value != ''){
            $('#link1').val('');
        }
    });
    $('#module2').change(function(){
        get_page(2,'index');
        if(this.value != ''){
            $('#link2').val('');
        }
    });
    $('#link1').change(function(){
        if(this.value != ''){
            $('#module1').val('');
            $('#page1').html('');
            $("#parameter1").val('');
        }
    });
    $('#link2').change(function(){
        if(this.value != ''){
            $('#module2').val('');
            $('#page2').html('');
            $("#parameter2").val('');
        }
    });

    //添加分类
    $('#add_button').click(function(){
        var parent_id = $('#parent_id1').val();
        if(!parent_id){
            show_msg(1, '请选择上级');return false;
        }
        if(!$('#category_name1').val()){
            show_msg(1, '请输入名称');return false;
        }
        $.post($('#SELF').val(), $('#add_form').serialize(), function(data){
            if(data.status == 1){
                $('#node_' + parent_id + ' :checkbox:first').attr('checked',false);
                $('#category_tree').reloadTree($('#node_'+parent_id));
                $('#category_name1').val('');
            }
            show_msg(1, data.info);
        }, 'json');
    });
    //修改分类
    $('#edi_button').click(function(){
        if($('#category_id2').val() < 1){
            show_msg(2, '请选择要修改的分类');
            return false;
        }
        if($("#category_name2").val() == ''){
            show_msg(2, '请输入分类名称');
            return false;
        }
        if (!confirm("确定要修改吗？"))return false;
        $.post($('#SELF').val(), $('#edi_form').serialize(), function(data){
            if(data.status == 1){
                $('#category_tree').editTree($('#node_'+data.data.id), data.data.name,data.data.module,data.data.page,data.data.parameter,data.data.link,data.data.display_menu,data.data.display_list,data.data.order_by);
            }
            show_msg(2, data.info);
        }, 'json');
        return false;
    });
    //删除分类
    $('#del_button').click(function(){
        if($('#category_id2').val() < 1){
            show_msg(2, '请选择要删除的分类');
            return false;
        }
        if($('#category_id2').val() == 1){
            show_msg(2, '根分类不可删除');
            return false;
        }
        if (!confirm("确定要删除吗？"))return false;
        var category_id = $('#category_id2').val();
        $.post($('#SELF').val(), {action : 'delete',id : category_id}, function(data){
            if(data.status == 1){
                $("#parent_text1").val("");
                $("#parent_id1").val("");
                $("#order_by1").val("");

                $("#category_id2").val("");
                $("#category_name2").val("");
                $("#module2").val('');
                $("#page2").html('');
                $("#parameter2").val('');
                $("#link2").val('');
                $("#display_menu2_Y").attr('checked',false);$("#display_menu2_N").attr('checked',false);
                $("#display_list2_Y").attr('checked',false);$("#display_list2_N").attr('checked',false);
                $("#order_by2").val("");
                $('#category_tree').removeTree($('#node_'+category_id));

                show_msg(2, '删除成功');
            }else{
                switch(data.info){
                    case 'root':
                        show_msg(2, '根分类不可删除');
                        break;
                    case 'no_empty':
                        show_msg(2, '所选分类还有下属分类，请先删除下属分类');
                        break;
                    case 'no_id':
                        show_msg(2, '请选择要删除的分类');
                        break;
                    case 'has_data':
                        show_msg(2, '所选分类关联有数据，不可删除');
                        break;
                    default:
                        show_msg(2, '删除失败');
                        break;
                }
            }
        },'json');
        return false;
    });
    //更新缓存
    $('#update_button').click(function(){
        $.post($('#SELF').val(), {action : 'update'}, function(data){
            show_msg(3, '更新成功');
        }, 'json');
    });

});

function node_check(node){
    var id = node.attr("id").substr(5);
    var name = node.find("a:first").text();
    var module = node.attr("module");
    var page = node.attr("page");
    var parameter = node.attr("parameter");
    var link = node.attr("link");
    var display_menu = node.attr("display_menu");
    var display_list = node.attr("display_list");
    var order_by = node.attr("order_by");
    var action = node.find(':checkbox:first').attr('checked');

    change_category(id,name,module,page,parameter,link,display_menu,display_list,order_by,action);
}

function change_category(id,name,module,page,parameter,link,display_menu,display_list,order_by,action){
    if (action){
        $("#parent_text1").val(name);
        $("#parent_id1").val(id);//更新父级

        $("#category_id2").val(id);//更新下面的名称
        $("#category_name2").val(name);
        $("#module2").val(module);
        get_page(2,page);
        $("#parameter2").val(parameter);
        $("#link2").val(link);
        $("#display_menu2_"+display_menu).attr('checked',true);
        $("#display_list2_"+display_list).attr('checked',true);
        $("#order_by2").val(order_by);

    }else{
        if ($("#category_name2").val() == name){
            $("#parent_text1").val("");
            $("#parent_id1").val("");
            $("#order_by1").val("");

            $("#category_id2").val("");
            $("#category_name2").val("");
            $("#module2").val('');
            $("#page2").html('');
            $("#parameter2").val('');
            $("#link2").val('');
            $("#display_menu2_Y").attr('checked',false);$("#display_menu2_N").attr('checked',false);
            $("#display_list2_Y").attr('checked',false);$("#display_list2_N").attr('checked',false);
            $("#order_by2").val("");
        }
    }
}

function show_msg(area, msg){
    $('#msg'+area).text(msg).show();
    setTimeout(function(){
        $('#msg'+area).hide();
    },10000)
}
function get_page(type,curr_value){
    var module_name = $('#module'+type).val();
    var $select_obj = $('#page'+type);
    $select_obj.html('');
    if(module_name){
        $.post($('#SELF').val(), {action:'get_page',module_name:module_name}, function(data){
            if(data.status == 1){
                for(var i = 0; i < data.data.length; i++){
                    $select_obj.append('<option value="'+data.data[i]+'" ' + (data.data[i] == curr_value ? 'selected="selected"' : '') + '>'+data.data[i]+'</option>');
                }
            }else{
                alert('加载失败');
            }
        }, 'json');
    }
}

